diff --git a/system/database/DB_export.php b/system/database/DB_export.php
index 8d6446c..a2e3e3e 100644
--- a/system/database/DB_export.php
+++ b/system/database/DB_export.php
@@ -112,8 +112,11 @@
 		// Create variables for convenience
 		extract($params);
 			
+		// Load the xml helper
+		$obj =& get_instance();
+		$obj->load->helper('xml');
+
 		// Generate the result
-		
 		$xml = "<{$root}/>".$newline;
 		foreach ($query->result_array() as $row)
 		{
@@ -121,7 +124,7 @@
 			
 			foreach ($row as $key => $val)
 			{
-				$xml .= $tab.$tab."<{$key}>".$this->_xml_convert($val)."</{$key}>".$newline;
+				$xml .= $tab.$tab."<{$key}>".xml_convert($val)."</{$key}>".$newline;
 			}
 			$xml .= $tab."</{$element}>".$newline;
 		}
@@ -130,33 +133,6 @@
 		return $xml;
 	}
 
-	
-	// ------------------------------------------------------------------------
-	
-	/**
-	 * Convert Reserved XML characters to Entities
-	 *
-	 * @access	public
-	 * @param	string
-	 * @return	string
-	 */	
-	function _xml_convert($str)
-	{
-		$temp = '__TEMP_AMPERSANDS';
-		
-		$str = preg_replace("/&#(\d+);/", "$temp\\1;", $str);
-		$str = preg_replace("/&(\w+);/",  "$temp\\1;", $str);
-		
-		$str = str_replace(array("&","<",">","\"", "'", "-"),
-						   array("&amp;", "&lt;", "&gt;", "&quot;", "&#39;", "&#45;"),
-						   $str);
-			
-		$str = preg_replace("/$temp(\d+);/","&#\\1;",$str);
-		$str = preg_replace("/$temp(\w+);/","&\\1;", $str);
-			
-		return $str;
-	}    
-
 }
 
 ?>
\ No newline at end of file
